const express = require('express')
const mongoose = require('mongoose')


const app=express()

mongoose.connect('mongodb://localhost/k0904',{
    useUnifiedTopology:true,
    useNewUrlParser:true
})


.then(res=>{console.log('成功')})
.catch(err=>{console.log('失败')})


const BooksSchema=new mongoose.Schema({
    name:String,
    age:Number,
    sex:Boolean,
    hobbies:[String]
})

const Books=mongoose.model('Books',BooksSchema)

// 添加多条数据
// for(var i=0;i<=10;i++){
//     const BooksSheets=new Books({
//         name:i%2==0?'小鲜肉'+i:'老男人'+i,
//         age:i,
//         sex:i%2==0?true:false,
//         hobbies:i%2==0?['篮球'+i,'养生'+199*i]:['足球'+i,'排球'+i]
//     })
//     BooksSheets.save()
// }

//查询数据库
// Books.find({}).then(res=>{console.log(res)})

//查询一条数据
// Books.find({_id:'5fa8ae2b514c0c1a58cb6fec'}).then(res=>{
//     console.log(res);
// })

//查询多条数据 查询age 在5-8的数据
// Books.find({age:{$gt:5,$lt:8}}).then(res=>{console.log(res)})


//查询数据按照升序排列 age的升序
// Books.find().sort('age').then(res=>{
//     console.log(res);
// })

//查询数据按照降序排列 age的降序
// Books.find().sort('-age').then(res=>{
//     console.log(res);
// })

//跳过前三个 查询5个出来 age 升序查询
// Books.find({}).skip(3).limit(5).sort('-age').then(res=>{
//     console.log(res);
// })

// Books.find({}).sort('age').skip(3).limit(5).then(res=>{
//     console.log(res);
// })

//查询指定字段
// Books.find({}).select('name _id age').then(res=>{
//     console.log(res);
// })


// 查询爱好 只包含篮球的数据 

// Books.find({hobbies:{$in:['篮球']}}).then(res=>{
//     console.log(res);
// })




//删除数据 删除所有
// Books.deleteMany({}).then(res=>{
//     console.log(res);
// })

//删除一个
// Books.findByIdAndDelete({_id:'5fa8b8f51773353380b7ac0e'}).then(res=>{
//     console.log(res);
// })

// Books.findOneAndDelete({_id:'5fa8b8f51773353380b7ac0f'}).then(res=>{
//     console.log(res);
// })

// { n: 0, ok: 1, deletedCount: 0 }
// Books.deleteOne({_id:'5fa8b8f51773353380b7ac10'}).then(res=>{
//     console.log(res);
// })

//删除多个 age 7-10
// Books.deleteMany({age:{$gt:7,$lt:10}}).then(res=>{
//     console.log(res);
// })

//更改数据
// 更改1条数据
// Books.updateOne({_id:'5fa8b8f51773353380b7ac11'},{name:'zs',age:1000}).then(res=>{
//     console.log(res);
// })


// Books.updateOne({_id:'5fa8b8f51773353380b7ac12'},{name:'zs',age:1000,hobbies:['放假','开心']}).then(res=>{
//     console.log(res);
// })

//更改 所有的数据
// Books.updateMany({},{age:102}).then(res=>{
//     console.log(res);
// })

//更改多条数据
Books.updateMany({age:{$gt:100,$lt:105}},{age:666,name:'zsss'}).then(res=>{
    console.log(res);
})



app.listen(3001,()=>{
    console.log('3001启动');
})